// 类
export { }

// 定义类
class Person {
    name!: string;
    getName(): void {
        console.log(this.name);
    }
}
let p1 = new Person();
p1.name = 'zhufeng';
p1.getName();


// 定义存取器:目的 改变类中读取和赋值的操作

class User {
    myName: string;
    constructor(myName: string) {
        this.myName = myName
    }
    // 读取操作
    get name() {
        return this.myName;
    }
    // 存取操作
    set name(value) {
        this.myName = value
    }
}

let user = new User('zhufeng');
user.name = 'jiagou';
console.log(user.name);



class Animal {
    // 只读属性
    public readonly name: string;
    constructor(name: string) {
        this.name = name
    }
    changeName(name: string) {
        // this.name = name // 报错：无法分配到 "name" ，因为它是只读属性。
    }
}

// public protected private